package com.bd.scm.dao.mapper.standardReports;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bd.scm.domain.dto.leave.LeaveFailDto;
import com.bd.scm.domain.dto.standardReports.BdKqOtSettleListDto;
import com.bd.scm.domain.dto.standardReports.BdKqOtSettleParamDto;
import com.bd.scm.domain.dto.standardReports.CalculateOvertimeDto;
import com.bd.scm.domain.dto.standardReports.OverTimePayParamDto;
import com.bd.scm.domain.models.standardReports.BdKqOtSettle;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author Mason
 * @since 2020-06-28
 */
public interface BdKqOtSettleMapper extends BaseMapper<BdKqOtSettle> {
    /**
     * 加班计算.
     *
     * @param calculateOvertimeDto
     * @return
     */
    List<LeaveFailDto> calculateOvertime(@Param("calculateOvertimeDto") CalculateOvertimeDto calculateOvertimeDto);

    /**
     * 支付计算.
     *
     * @param overTimePayParamDto
     * @return
     */
    List<LeaveFailDto> doPayOvertime(@Param("overTimePayParamDto") OverTimePayParamDto overTimePayParamDto);

    /**
     * 获取加班计算报表数据.
     *
     * @param page
     * @param bdKqOtSettleParamDto
     * @return
     */
    IPage<BdKqOtSettleListDto> getList(Page<BdKqOtSettleListDto> page, @Param("bdKqOtSettleParamDto")
            BdKqOtSettleParamDto bdKqOtSettleParamDto);

    /**
     * 获取加班计算报表数据.
     *
     * @param bdKqOtSettleParamDto
     * @return
     */
    List<BdKqOtSettleListDto> getList(@Param("bdKqOtSettleParamDto")
                                              BdKqOtSettleParamDto bdKqOtSettleParamDto);

    /**
     * 获取id字符串.
     *
     * @param overTimePayParamDto
     * @return
     */
    String getIdsStr(@Param("overTimePayParamDto") OverTimePayParamDto overTimePayParamDto);

}
